package com.itheima.d2_byte_stream;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/*
    目标：掌握使用FileInputStream每次读取多个字节。

    FileInputStream类
    构造方法
        public FileInputStream(File file)	创建字节输入流管道与源文件接通
        public FileInputStream(String pathname)	创建字节输入流管道与源文件接通
    成员方法
        public int read()	每次读取一个字节返回，如果发现没有数据可读会返回-1.
        public int read(byte[] buffer)	每次用一个字节数组去读取数据，返回字节数组读取了多少个字节，如果发现没有数据可读会返回-1.
 */
public class FileInputStreamTest2 {
    public static void main(String[] args) throws IOException {
        //每次读取多个字节
        //获取流对象
        FileInputStream f = new FileInputStream("D:/作业测试/a.txt");
        //操作
        //每次用一个字节数组去读取数据，返回字节数组读取了多少个字节，如果发现没有数据可读会返回-1
        int len;//定义变量,保存每次读取的字节个数
        byte[] i = new byte[1];//定义数组存放字节，一次读取多少个字节，由数组的长度决定
        //释放资源
        while ((len=f.read(i))!=-1){
            //0表示从第一个字节开始读，读的次数是字节个数
             // 注意：读取多少，倒出多少。
            System.out.println(new String(i,0,len));
        }

    }
}
